package com.jingdianjichi.subject.domain.handler.subject;

import com.jingdianjichi.subject.common.enums.SubjectInfoTypeEnum;
import com.jingdianjichi.subject.domain.entity.SubjectInfoBO;
import com.jingdianjichi.subject.domain.entity.SubjectOptionBO;

/**
 * 策略类,非常方便题目类型的扩展
 */
public interface SubjectTypeHandler {

    //标识出来我是谁,枚举身份的识别
    SubjectInfoTypeEnum getHandlerType();

    /**
     * 实际每个题目类型的插入
     */
    void add(SubjectInfoBO subjectInfoBO);

    /**
     * 跟新题目
     */
    void upDate(SubjectInfoBO subjectInfoBO);


    /**
     *查询每个题目的答案
     */
    SubjectOptionBO query(long subjectId);
}
